1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8">
5 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
7 <meta name=
"Generator" content=
"Cocoa HTML Writer">
8 <meta name=
"CocoaVersion" content=
"949.35">
9 <style type=
"text/css">
10 p
.p1
{margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica
}
11 p
.p2
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; min-height: 14.0px}
12 p
.p3
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
}
13 p
.p4
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco
; min-height: 16.0px}
14 p
.p5
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #842d1c; min-height: 12.0px}
15 p
.p6
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #000000}
16 p
.p7
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #bf0000}
17 p
.p8
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #000000; min-height: 12.0px}
18 p
.p9
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #0000bf}
19 span
.s1
{color: #0000bf}
20 span
.s2
{color: #bf0000}
21 span
.s3
{color: #000000}
22 span
.Apple-tab-span
{white-space:pre
}
26 <p class=
"p1"><b>DegreeToKey
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>convert signal to modal pitch
</b></p>
27 <p class=
"p2"><br></p>
28 <p class=
"p3"><b>DegreeToKey.ar(bufnum, in, octave, mul, add)
</b></p>
29 <p class=
"p2"><br></p>
30 <p class=
"p3">The input signal value is truncated to an integer value and used as an index into an octave repeating table of note values. Indices wrap around the table and shift octaves as they do.
</p>
31 <p class=
"p2"><br></p>
32 <p class=
"p3"><b>bufnum
</b> - index of the buffer which contains the steps for each scale degree.
</p>
33 <p class=
"p3"><b>in
</b> - the input signal.
</p>
34 <p class=
"p3"><b>octave
</b> - the number of steps per octave in the scale. The default is
12.
</p>
35 <p class=
"p4"><br></p>
36 <p class=
"p5"><br></p>
38 <p class=
"p7">// modal space
</p>
39 <p class=
"p7">// mouse x controls discrete pitch in dorian mode
</p>
40 <p class=
"p6"><span class=
"s1">var
</span> scale;
</p>
41 <p class=
"p6">scale =
<span class=
"s1">FloatArray
</span>[
0,
2,
3.2,
5,
7,
9,
10];
<span class=
"s2">// dorian scale
</span></p>
42 <p class=
"p8"><br></p>
43 <p class=
"p6">play({
</p>
44 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s1">var
</span> mix;
</p>
45 <p class=
"p8"><span class=
"Apple-tab-span"> </span></p>
46 <p class=
"p6"><span class=
"Apple-tab-span"> </span>mix =
<span class=
"Apple-converted-space"> </span></p>
47 <p class=
"p8"><span class=
"Apple-tab-span"> </span></p>
48 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span></span>// lead tone
</p>
49 <p class=
"p9"><span class=
"s3"><span class=
"Apple-tab-span"> </span></span>SinOsc
<span class=
"s3">.ar(
</span></p>
50 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>(
</p>
51 <p class=
"p9"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>DegreeToKey
<span class=
"s3">.kr(
</span></p>
52 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s1">LocalBuf
</span>.newFrom(scale),
</p>
53 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span><span class=
"s1">MouseX
</span><span class=
"s3">.kr(
0,
15),
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// mouse indexes into scale
</p>
54 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>12,
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>//
12 notes per octave
</p>
55 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>1,
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s2">// mul =
1</span></p>
56 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>72<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// offset by
72 notes
</p>
57 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
<span class=
"Apple-converted-space"> </span></p>
58 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>+
</span><span class=
"s1">LFNoise1
</span><span class=
"s3">.kr([
3,
3],
0.04)
<span class=
"Apple-tab-span"> </span></span>// add some low freq stereo detuning
</p>
59 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>).midicps,
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>// convert midi notes to hertz
</p>
60 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0,
</p>
61 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0.1)
</p>
62 <p class=
"p8"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
63 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span></span>// drone
5ths
</p>
64 <p class=
"p6"><span class=
"Apple-tab-span"> </span>+
<span class=
"s1">RLPF
</span>.ar(
<span class=
"s1">LFPulse
</span>.ar([
48,
55].midicps,
0.15),
</p>
65 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s1">SinOsc
</span>.kr(
0.1,
0,
10,
72).midicps,
0.1,
0.1);
</p>
66 <p class=
"p8"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
67 <p class=
"p7"><span class=
"s3"><span class=
"Apple-tab-span"> </span></span>// add some
70's euro-space-rock echo
</p>
68 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s1">CombN
</span>.ar(mix,
0.31,
0.31,
2,
1, mix)
</p>
71 <p class=
"p4"><br></p>